/*
 * commons is a based project implemented
 * Copyright (C) 2024 Jasmine
 */
package com.commons.core.validator;

import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.groups.Default;

/**
 * 分组校验接口
 *
 * @author Jasmine
 * @version 1.0
 * @date 2021/09/14 11:10
 * @see ValidGroup
 * @since JDK1.8
 */
public interface ValidGroup {
    /**
     * 如果不继承Default，@Validated({Update.class})就只会校验属于 Update.class分组的参数字段,
     */
    interface Create extends Default {}

    /**
     * 数据修改的验证分组。通常用于数据更新的场景。
     */
    interface Update {}

    /**
     * 数据查询的验证分组。通常用于数据查询的场景。
     */
    interface Query {}

    /**
     * 数据删除的验证分组。通常用于数据删除的场景。
     */
    interface Delete {}

    @Tag(name = "ID校验")
    interface ID {}
}
